Various key exchange protocols have been developed to facilitate a key exchange for secure commutations. For example, these protocols may use the protocol to determine and share a common symmetric cryptographic key to be used for secure communication between two parties. Further, authentication of the parties may be a part of such a protocol to prevent attackers from gaining access to the secure communications.